"""
使用mysqlclient三方库操作MySQL
try - 把可能出现异常状况的代码保护起来执行
except - 捕获异常
else - 没有出现异常的情况下要执行的且不再捕获异常的代码
finally - 总是执行代码（善后工作）
raise - 引发异常抛出异常对象
"""
import MySQLdb as mysql
# import pymysql as mysql

no = int(input('部门编号: '))
# 1. 建立连接
conn = mysql.connect(host='47.104.31.138', port=3306,
                     user='root', password='123456',
                     database='hrs', charset='utf8')
try:
    # 2. 通过连接对象的cursor方法获取游标对象
    with conn.cursor() as cursor:
        # 3. 通过游标对象的execute方法向数据库发出SQL语句
        affected_rows = cursor.execute(
            'delete from tb_dept where dno=%s',
            (no, )
        )
        if affected_rows == 1:
            print('删除部门成功')
    # 4. 如果没有发生异常操作成功，手动提交刚才操作
    conn.commit()
except mysql.MySQLError as err:
    print(err)
    # 4. 如果发生了异常，则进行回滚操作（撤销之前的操作）
    conn.rollback()
finally:
    conn.close()
